package com.sdy.dcsb.biz.mapper;

import com.sdy.dcsb.biz.model.EsbInboundParam;
import com.sdy.mvc.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author Snaky
 */
public interface EsbInboundParamMapper extends BaseMapper<EsbInboundParam> {

    /**
     * 获取封装接口不包含纯节点的入参信息
     * @param id 接口id
     * @return 入参集合
     */
    List<EsbInboundParam> getInputParamWithoutPureNode(Integer id);

    /**
     * 获取接口的最大参数序号
     * @param serviceId 接口id
     * @param paramMode 参数模式(1 入参  2 出参)
     * @return 接口的最大参数序号
     */
    Integer getMaxOrderNum(@Param("serviceId") Integer serviceId, @Param("paramMode") Integer paramMode);

    /**
     * 获取封装接口配置的出参信息
     * @param id 接口id
     * @return 出参集合
     */
    List<EsbInboundParam> getOutputParamConf(Integer id);

    /**
     * 获取接口入参格式(3 json格式、4 form-data参数、5 form-urlencoded参数)
     * @param id 接口id
     * @return 入参格式
     */
    List<Integer> getParamFormat(Integer id);
}
